Categorías destacadas
programacion php    
Artículo
6
¡votar!

 Sistema de Nombrado en Java (JNDI) [Parte I]


Ámbito de Búsqueda

Los SearchControls por defecto especifican que la búsqueda se realice en el contexto llamado (SearchControls.ONELEVEL_SCOPE).

Este valor por defecto se usa en los ejemplos de la sección de Filtros de Búsqueda.

Además de estos valores por defecto, podemos especificar que la búsqueda se realice en un subárbol entero o sólo en el objeto nombrado.

. Buscar en el Subárbol

Una búsqueda en el subárbol completo busca el objeto nombrado y todos su descendientes. Para hacer que la búsqueda se comporte de esta forma, pasamos SearchControls.SUBTREE_SCOPE a SearchControls.setSearchScope() como sigue.

// Specify the ids of the attributes to return
String[] attrIDs = {"sn", "telephonenumber", "golfhandicap", "mail"};
SearchControls ctls = new SearchControls();
ctls.setReturningAttributes(attrIDs);
ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);

// Specify the search filter to match
// Ask for objects that have the attribute "sn" == "Geisel"
// and the "mail" attribute
String filter = "(&(sn=Geisel)(mail=*))";

// Search the subtree for objects by using the filter
NamingEnumeration answer = ctx.search("", filter, ctls);

Este ejemplo busca en el subárbol del contexto ctx todas las entradas que cumplan el filtro de búsqueda. Encuentra la entrada "cn= Ted Geisel, ou=People" en este subárbol que cumple con el filtro.

# java SearchSubtree
>>>cn=Ted Geisel, ou=People
attribute: sn
value: Geisel
attribute: mail
value: Ted.Geisel@JNDITutorial.com
attribute: telephonenumber
value: +1 408 555 5252

. Buscar el Objeto Nombrado

También podemos buscar el objeto nombrado. Esto es útil, por ejemplo, para comprobar si el objeto nombrado cumple las condiciones de búsqueda. Para buscar el objeto nombrado le pasamos SearchControls.OBJECT_SCOPE a setSearchScope().

// Specify the ids of the attributes to return
String[] attrIDs = {"sn", "telephonenumber", "golfhandicap", "mail"};
SearchControls ctls = new SearchControls();
ctls.setReturningAttributes(attrIDs);
ctls.setSearchScope(SearchControls.OBJECT_SCOPE);

// Specify the search filter to match
// Ask for objects that have the attribute "sn" == "Geisel"
// and the "mail" attribute
String filter = "(&(sn=Geisel)(mail=*))";

// Search the subtree for objects by using the filter
NamingEnumeration answer = 
    ctx.search("cn=Ted Geisel, ou=People", filter, ctls);

Este ejemplo comprueba que el objeto "cn=Ted Geisel, ou=People" cumple el filtro dado.

# java SearchObject
>>>
attribute: sn
value: Geisel
attribute: mail
value: Ted.Geisel@JNDITutorial.com
attribute: telephonenumber
value: +1 408 555 5252

El ejemplo econtró una respuesta y la imprimió. Observa que el nombre del resultado es una cadena vacía. Esto es porque el nombre del objeto es siempre relativo al contexto de búsqueda (en este caso "cn=Ted Geisel, ou=People").

Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon